package com.itheima.api_demo.dateformat_demo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
    DateFormat类 :
        public abstract class DateFormat : 抽象类不能直接使用 , 需要使用其子类
        public class SimpleDateFormat : 使用此类

    构造方法 :
        public SimpleDateFormat() : 使用默认日期模板创建对象
        public SimpleDateFormat(String pattern) : 使用指定日期模板创建对象

    作用 : 日期和字符串之间做转换
        String --> Date  : 解析   parse()
        Date --> String  : 格式化 format()

    需求1 : 获取当前的日期对象，使用格式：yyyy-MM-dd HH:mm:ss 来表示，例如：2020-10-31 17:00:00【格式化】
    需求2 : 将字符串的 2020年10月31日  17:00:00，转换为日期Date对象。【解析】
 */
public class SimpleDateFormatDemo {
    public static void main(String[] args) throws ParseException {
        // 字符串
        String strDate = "2020年10月31日 17:00:00";


        // 解析时, 日期模板必须和要解析字符串的格式一致
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

        // String --> Date  : 解析   parse()
        Date date = sdf.parse(strDate);
        System.out.println(date);


//        System.out.println("为操作之前的时间:" + date);
//
//        // 需求 : 把date加上10000毫秒
//        long time = date.getTime();// date到1970/1/1所经历的毫秒值
//        Date newDate  = new Date(time + 10000);
//        System.out.println("加上10000毫秒之后的时间:" + newDate);

        // System.out.println(date);// Sat Oct 31 17:00:00 CST 2020
    }

    public static void formatMethod() {
        // 获取当前的日期对象
        Date date = new Date();
        // System.out.println(date);

        /*
            Date --> String  : 格式化 format()
            "2021年07月22日 16:33:22"
        */
        // 创建SimpleDateFormat对象
        // SimpleDateFormat sdf = new SimpleDateFormat();// 默认日期模板  "2021/7/22 下午4:34"
        // public SimpleDateFormat(String pattern) : 使用指定日期模板创建对象
        // SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");// 指定日期模板
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");// 指定日期模板
        String strDate = sdf.format(date);
        System.out.println(strDate);
    }
}
